package com.hjm.project.bankExpenditure.bankExpenditure.service;

import java.util.List;
import java.util.Map;

import com.hjm.framework.web.domain.AjaxResult;
import com.hjm.project.bankExpenditure.bankExpenditure.domain.BankExpenditure;

/**
 * 消费Service接口
 * 
 * @author LOVE
 * @date 2020-11-27
 */
public interface IBankExpenditureService 
{
    /**
     * 查询消费
     * 
     * @param serial 消费ID
     * @return 消费
     */
    public BankExpenditure selectBankExpenditureById(Long serial);

    /**
     * 查询消费列表
     * 
     * @param bankExpenditure 消费
     * @return 消费集合
     */
    public List<BankExpenditure> selectBankExpenditureList(BankExpenditure bankExpenditure);

    /**
     * 查询消费汇总统计
     *
     * @param bankExpenditure 消费
     * @return 消费集合
     */
    public Map<String,Object> selectBankExpenditureCount(BankExpenditure bankExpenditure);


    /**
     * 新增消费
     * 
     * @param bankExpenditure 消费
     * @return 结果
     */
    public int insertBankExpenditure(BankExpenditure bankExpenditure);

    /**
     * 修改消费
     * 
     * @param bankExpenditure 消费
     * @return 结果
     */
    public int updateBankExpenditure(BankExpenditure bankExpenditure);

    /**
     * 批量删除消费
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBankExpenditureByIds(String ids);

    /**
     * 删除消费信息
     * 
     * @param serial 消费ID
     * @return 结果
     */
    public int deleteBankExpenditureById(Long serial);

    public Map selectSign(String serial) throws Exception;

    public Map selectSignEx(String serial) throws Exception;

    public int insertsignpic(Map map) throws Exception;

    public String selectMposBySerial(String serial) throws Exception;

    AjaxResult exportDetailExcel(BankExpenditure bankExpenditure) throws Exception;


    /**
     * 线上交易数据查询
     * @param reqMap Map
     * @return List
     * @throws Exception e
     */
    List<Map<String, String>> selectOnLineList(Map<String, String> reqMap);

    /**
     * 查询交易数据
     * @param serial
     * @return
     */
    Map selectSignatrue(String serial);
}
